OpenCV Tutorials(二) cv::Mat图像遍历和算法性能测量 您所在的位置:网站首页 opencv mat遍历 OpenCV Tutorials(二) cv::Mat图像遍历和算法性能测量

OpenCV Tutorials(二) cv::Mat图像遍历和算法性能测量

2023-08-16 03:35| 来源: 网络整理| 查看: 265

文章目录 如何衡量算法的性能?如何遍历每一个图像的像素?1.高效的遍历方式2. 迭代器(安全)方法3.动态地址计算 cv::Mat::at() 函数4.查找表5.四种方式性能对比 总结

如何衡量算法的性能?

我们如何测量时间?OpenCV提供了两个简单的函数来实现cv::getTickCount()和cv::getTickFrequency()。第一个返回某个事件(比如自启动系统以来)中系统CPU的节拍数。第二个返回您的CPU在一秒内发出一个tick的次数。因此,测量两个操作之间的时间代码如下:

double t = (double)getTickCount(); // do something ... t = ((double)getTickCount() - t)/getTickFrequency(); cout double t = (double)cv::getTickCount(); cv::MatIterator_ it, end; for( it = rgbImage.begin(), end = rgbImage.end(); it != end; ++it) { (*it)[0] = 255; (*it)[1] = 255; (*it)[2] = 255; } t = ((double)cv::getTickCount() - t) / cv::getTickFrequency()*1000; //获得时间,单位是毫秒 cout p[i] = 0; } else if(i>=101 && i p[i] = 255; } }

循环调用测试:

cv::Mat dst; nums = 10; while (nums) { double t = (double)cv::getTickCount(); cv::LUT(matKernel, lookUpTable, dst); t = ((double)cv::getTickCount() - t) / cv::getTickFrequency()*1000; //获得时间,单位是毫秒 cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有